// 理解类数组对象(instance-level)

// 隐式创建了Object的一个实例
let x = {
    "id": 2002,
    "name": '定西李洁',
    "age": 18 ,
    "married": false
}

console.log( x.id , x.name , x.age , x.married?'已婚':'未婚');
console.log( x[ 'id' ] , x[ 'name'] );

console.log( '- - - '.repeat(10) );

// 隐式创建了Object的一个实例
let a = {
    "length" : 6 ,
    "0": '任丽',
    "1": '陶佳琦',
    "2": '窦宏弘',
    "3": '马丽娜',
    "4": '姚智玲',
    "5": '老秦的瑞瑞'  
}

// 变量a所引用的实例并不是数组
console.log( Array.isArray( a ) ); // fasle

/*
console.log( "0" == 0 );
console.log( a[0] );
console.log( a['1'] );
console.log( a["2"] );
*/

for( let i = 0 ; i < a.length ; i++ ){
    let name = a[ i ] ;
    console.log( name );
}

// 将类数组对象(instance-level)转换为数组对象(instance-level)
let b = Array.from( a );
console.log( Array.isArray( b ) ); // true
// 转换后即可使用数组原型上定义的函数
b.forEach( e => console.log( e ) );